/****************************************************************************
 * csr.v
 ****************************************************************************/
`include "define.v"

/****************************************************************************
   Module: csr

   csr寄存器模块；
   因为不存在多个并行执行的指令，因此csr寄存器只要支持一组读端口、一组写端口即可。
   csr寄存器存在异步复位端口，在处理器复位或者done信号置位时，csr复位清零

   csr寄存器位含义：
   bit 0    : rs1 == rs2
   bit 1    : rs1 != rs2
   bit 2    : rs1 <  rs2
   bit 3    : rs1 >= rs2
   bit 4    : rsvd              // 保留
   bit 5    : rsvd              // 保留
   bit 8:6  : RAM_Addr[10:8]    // 内存块选择，可以支持最大8个内存块
   bit 15:9 : SP                // 堆栈指针，堆栈最大深度128

 ****************************************************************************/

module csr
(
    input                           rst,                    // 系统复位信号，同步复位，高电平有效
    input                           clk,                    // 系统工作时钟

    // csr寄存器读端口信号
    output [`REG_WIDTH-1 : 0]       rd_dat,

    // csr寄存器写端口信号
    input                           wr_en,
    input  [`REG_WIDTH-1 : 0]       wr_dat
);
	
    // 带复位信号的寄存器实例化
    dffl #(`REG_WIDTH) reg_file_dffl (rst, clk, wr_en, wr_dat, rd_dat);


endmodule